package com.mlink.ai.chat.utils


object AnalyticsEvents {
    /**
     * 订阅展示界面
     */
    const val SHOW_SUB_PAGE = "show_sub_page"

    /**
     * 点击周订阅按钮
     */
    const val CLICK_SUB_WEEKLY = "click_sub_weekly"

    /**
     * 点击年订阅按钮
     */
    const val CLICK_SUB_YEARLY = "click_sub_yearly"

    /**
     * 免费试用成功总点
     */
    const val FIRST_PURCHASED_ALL_TRY = "first_purchased_all_try"

    /**
     * 按周免费试用成功
     */
    const val FIRST_PURCHASED_WEEKLY_TRY = "first_purchased_weekly_try"

    /**
     * 按年订阅成功
     */
    const val PURCHASED_YEARLY_SUCCESS = "purchased_yearly_success"

    /**
     * 按周免费试用成功+按年订阅成功
     */
    const val FIRST_ALLIAP_SUCCESS = "first_alliap_success"

    /**
     * 展示语言选择界面
     */
    const val AC_LANGUAGE_PAGE_SHOW = "ac_language_page_show"

    /**
     * 语言选择界面点击右上角的勾
     */
    const val AC_LANGUAGE_TICK_CLICK = "ac_language_tick_click"

    /**
     * 聊天界面点击右上角的绿色 button
     */
    const val AC_CHAT_SUBBUTTON_CLICK = "ac_chat_subbutton_click"

    /**
     * 展示 RV+订阅弹窗
     */
    const val AC_POPUP_PAGE_SHOW = "ac_popup_page_show"

    /**
     * RV+订阅弹窗点击Get Unlimited Messages
     */
    const val AC_POPUP_SUB_CLICK = "ac_popup_sub_click"

    /**
     * RV+订阅弹窗点击Watch an Ad
     */
    const val AC_POPUP_ADS_CLICK = "ac_popup_ads_click"

    /**
     * 启动页展示
     */
    const val AC_LAUNCH_PAGE_SHOW = "ac_launch_page_show"

    /**
     * 启动页 Start 按钮点击
     */
    const val AC_LAUNCH_PAGE_START_CLICK = "ac_launch_page_start_click"

    /**
     * 主页菜单切换
     */
    const val AC_NAVBAR_BUTTON_CLICK = "ac_navbar_button_click"

    /**
     * 提问示例展示2/3即触发记录，不离开页面的状态下，至多记录一次
     */
    const val AC_CHAT_EXAMPLE_SHOW = "ac_chat_example_show"

    /**
     * 提问实例点击
     */
    const val AC_CHAT_EXAMPLE_CLICK = "ac_chat_example_click"

    /**
     * 点击底部聊天入口
     */
    const val AC_CHAT_PORTAL_CLICK = "ac_chat_portal_click"

    /**
     * 对话页面展示
     */
    const val AC_CHATAI_PAGE_SHOW = "ac_chatai_page_show"

    /**
     * 发送按钮点击
     */
    const val AC_CHATAI_SENDBTN_CLICK = "ac_chatai_sendbtn_click"

    /**
     * 问题发送（示例问题自动发送、用户手动点击发送均记录）
     */
    const val AC_CHATAI_QUS_MSG = "ac_chatai_qus_msg"

    /**
     * 消息处理结果
     */
    const val AC_CHATAI_ANS_MSG = "ac_chatai_ans_msg"

    /**
     * 聊天对话界面分享按钮点击
     */
    const val AC_CHATAI_HISTORY_SHARE = "ac_chatai_history_share"

    /**
     * 聊天界面复制触发
     */
    const val AC_CHATAI_COPY = "ac_chatai_copy"

    /**
     * 点击离开按钮
     */
    const val AC_CHATAI_EXIT_CLICK = "ac_chatai_exit_click"

    /**
     * 成功离开聊天页面
     */
    const val AC_CHATAI_EXIT_SUC = "ac_chatai_exit_suc"

    /**
     * 历史记录点击
     */
    const val AC_RECENTS_HISTORY_CLICK = "ac_recents_history_click"

    /**
     * 历史记录页分享按钮点击
     */
    const val AC_HISTORY_SHARE_CLICK = "ac_history_share_click"

    /**
     * 新建 chat
     */
    const val AC_HISTORY_NEWCHAT_CLICK = "ac_history_newchat_click"


    /**
     * 点击See All（包括切换tag分类）
     */
    const val AC_EXP_PPT_SEEALL_CLICK = "ac_exp_ppt_seeall_click"

    /**
     * prompt item展示2/3即触发记录，不离开页面的状态下，至多记录一次，See All当中也要埋点
     */
    const val AC_EXP_PPT_SHOW = "ac_exp_ppt_show"

    /**
     * prompt item点击
     */
    const val AC_EXP_PPT_CLICK = "ac_exp_ppt_click"

    /**
     * 分类下创建自定义按钮展示2/3即触发记录，不离开页面的状态下，至多记录一次
     */
    const val AC_EXP_PPT_CREATE_SHOW = "ac_exp_ppt_create_show"

    /**
     * 分类下创建自定义按钮点击
     */
    const val AC_EXP_PPT_CREATE_CLICK = "ac_exp_ppt_create_click"

    /**
     * 完成按钮点击
     */
    const val AC_PPT_CREATE_CLICK = "ac_ppt_create_click"

    /**
     * prompt创建成功即触发
     */
    const val AC_PPT_CREATE_SUC = "ac_ppt_create_suc"

    /**
     * 免费消息用完，出现订阅提示消息
     * remove limits点击
     */
    const val AC_CHATAI_RMLIM_CLICK = "ac_chatai_rmlim_click"

    /**
     * 免费消息用完，出现订阅提示消息
     * remove limits展示
     */
    const val AC_CHATAI_RMLIM_SHOW = "ac_chatai_rmlim_show"

    /**
     * 免费消息用完，出现看广告消息
     * free to get点击
     */
    const val AC_CHATAI_FTG_CLICK = "ac_chatai_ftg_click"

    /**
     * 免费消息用完，出现看广告消息
     * free to get展示
     */
    const val AC_CHATAI_FTG_SHOW = "ac_chatai_ftg_show"

    /**
     * 添加图片按钮点击 (ChatFragment)
     */
    const val AC_CHAT_ADD_CLICK = "ac_chat_add_click"

    /**
     * 添加图片成功 (ChatFragment)
     */
    const val AC_CHAT_ADD_SUC = "ac_chat_add_suc"

    /**
     * 添加图片按钮点击 (ChatActivity)
     */
    const val AC_CHATAI_ADD_CLICK = "ac_chatai_add_click"

    /**
     * 添加图片成功 (ChatActivity)
     */
    const val AC_CHATAI_ADD_SUC = "ac_chatai_add_suc"

    /**
     * 聊天对话页面分享 （总对话分享）
     */
    const val AC_CHATAI_HISTORY_SHARE_SEL = "ac_chatai_history_share_sel"

    /**
     * 聊天对话单条信息分享
     */
    const val AC_CHATAI_MSG_SHARE = "ac_chatai_msg_share"

    /**
     * 点赞/踩
     */
    const val AC_CHATAI_MSG_VOTE = "ac_chatai_msg_vote"

    /**
     * Feedback 弹窗
     */
    const val AC_CHATAI_FB_CLICK = "ac_chatai_fb_click"

    /**
     * 弹窗展示
     */
    const val AC_AUTH_PUSH_NOT_SHOW = "ac_auth_push_not_show"

    /**
     * 弹窗选择
     */
    const val AC_AUTH_PUSH_NOT_SEL = "ac_auth_push_not_sel"

    /**
     * 系统弹窗权限打开成功
     */
    const val AC_AUTH_PUSH_NOT_SUC = "ac_auth_push_not_suc"

    /**
     * prompt 每日自动 Push 点击
     */
    const val AC_PUSH_PPT_CLICK = "ac_push_ppt_click"

    /**
     * prompt 每日自动 Push 显示
     */
    const val AC_PUSH_PPT_SHOW = "ac_push_ppt_show"
}

object AnalyticsParams {

    /**
     * Key
     */
    const val KEY_TYPE = "type"
    const val KEY_TITLE = "title"
    const val KEY_TIME = "time"
    const val KEY_QUS_TYPE = "qus_type"
    const val KEY_ERROR_CODE = "error_code"
    const val KEY_SERVER_TIME = "server_time"
    const val KEY_UID = "uid"
    const val KEY_CONVERSATION_ID = "conversation_id"
    const val KEY_MSG_ID = "msg_id"
    const val KEY_LIST_TYPE = "list_type"

    const val SUCCESS = "success"
    const val FAILED = "failed"

    /**
     * first_purchased_all_try&first_purchased_weekly_try&purchased_yearly_success&first_alliap_success中需要添加参数
     * key : vipType
     */
    const val KEY_VIP_TYPE = "vipType"
    const val FIRST_OPEN_APP = "FirstopenApp" //用户首次打开app出现订阅界面
    const val OPEN_APP = "OpenApp" //用户非首次打开app出现订阅界面
    const val HOME = "Home" //点击主界面订阅入口出现订阅界面
    const val SETTINGS = "Settings" //点击设置界面订阅入口出现订阅界面
    const val SEND = "Send" //用完3次免费提问次数后，再次发送问题后弹出订阅界面
    const val REMOVE_LIMITS = "RemoveLimits" //聊天界面点击Remove Limits出现订阅界面
    const val BUTTON_POPUP = "ButtonPopup" //聊天界面点击 +1 出现订阅界面
    const val SEND_POPUP = "SendPopup" //聊天界面达到上限再发送出现订阅界面

    /**
     * ac_navbar_button_click 中需要添加的参数
     * key : title
     */
    const val EXPLORE = "explore"
    const val CHAT = "chat"
    const val RECENTS = "recents"


    /**
     * 分类名
     */
    const val CATEGORY = "category"

    /**
     * 输入的描述内容
     */
    const val DESCRIPTION = "description"

    /**
     * 输入的prompt内容
     */
    const val PROMPT = "prompt"

    /**
     * 用完3次免费自定义创建Prompts次数后，再次创建Prompts后点击Done弹出订阅界面
     */
    const val SUB_PROMPT = "Prompts"

    const val QUS_TYPE_PIC = "pic" //图片问题示例
    const val QUS_TYPE_CHAT = "chat" //文本问题示例

    const val SHARE_TYPE_PIC = "pic"
    const val SHARE_TYPE_TXT = "txt"

    const val ASK = "ask" // 问题复制
    const val QUS = "qus" // 回答复制

    const val CUSTOM = "custom" // 自定义 prompt
    const val PRESET = "preset" // 预置内容

    const val LIKE = "like" //点赞
    const val DISLIKE = "dislike" //踩

    const val ALLOW = "allow" //允许
    const val CANCEL = "cancel" //取消
}